package br.unipar.bancodedados.command;

import br.unipar.bancodedados.entidade.Usuario;
import java.sql.ResultSet;
import java.sql.Statement;

public class SalvaUsuarioCommand implements Command {
    private final Usuario usuario;

    public SalvaUsuarioCommand(final Usuario usuario) {
        this.usuario = usuario;
    }

    @Override
    public void execute(Statement stmt) throws Exception {
        String sql = String.format(
                    "insert into Usuario(login, senha) values ('%s', '%s')",
                    usuario.getLogin(), usuario.getSenha());

        stmt.executeUpdate(sql, Statement.RETURN_GENERATED_KEYS);

        ResultSet rs = stmt.getGeneratedKeys();
        rs.next();
        Long id = rs.getLong(1);
        usuario.setId(id);
    }

}
